#include "xduck.h"

#define hLog(msg) std::cout << __FILE__ << ":" << __LINE__ << ":" << __func__ << ":" << msg << "\n";

XDuck::XDuck()
{
	hLog("Constructor");
}

// Child-Duck call this function to perform fly method
// call via interface
void XDuck::performFly()
{
	m_flyable.fly();
}

// child-duck create instance of fly method and then send back
//  to its base
void XDuck::setFly(IFlyable iFly)
{
	m_flyable = iFly;
}
